/**
 * =================================================================
 * 版权所有 2011-2020 泰海网络支付服务有限公司，并保留所有权利
 * -----------------------------------------------------------------
 * 这不是一个自由软件！您不能在任何未经允许的前提下对程序代码进行修改和使用；
 * 不允许对程序代码以任何形式任何目的的再发布
 * =================================================================
 */
package com.sfpay.coreplatform.member.common.util;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 类说明：
 * 日期工具类
 * <p>
 * 详细描述：
 * 以后公共组提供该类的具体方法  
 * @author 312932
 *   
 * CreateDate: 2012-2-13
 */
public class DateUtil {
	
    public static final String DATE_FORMAT_STR = "yyyyMMdd";//日期格式 
    
	public static final String DATE_Y_H = "yyyy-MM-dd HH:mm:ss";
	
	public static final String DATE_FORMAT_YYYT_MM_DD = "yyyy-MM-dd";
	
    /**
     * 
     * 方法说明：
     * 获得yyyyMMdd时间格式
     * @param date 日期
     * @return yyyyMMdd时间格式串
     */
    public static String getDateStr(Date date) 
    {   
    	SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_STR); 
        return dateFormat.format(date);    
    }   
    
    /**
     * 
     *
     * 方法说明：比较两个时间相差分钟数
     *
     * @param startDate
     * @param endDate
     * @return
     */
    public static int getIntervalMins(Date startDate, Date endDate)
    {
        int intervalMins = 0;
        try
        {
            long len = endDate.getTime() - startDate.getTime();
            intervalMins = (int) (len / ( 60 * 1000));
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return intervalMins;
    }
    
    /**
     * 
     *
     * 方法说明：判断时间间隔是否在规定时间内
     *
     * @param startDate
     * @param endDate
     * @param cycleTimeMins
     * @return true在  	false不在
     */
    public static boolean isOneCycle(Date startDate , Date endDate , int cycleTimeMins)
    {
    	int intervalMins = getIntervalMins(startDate , endDate);
    	return intervalMins <  cycleTimeMins;
    }
    
    /**
	 * 
	 *
	 * 方法说明：将str转化为date
	 *
	 * @param str
	 * @param format
	 * @return
	 */
	public static Date stringToUtilDate(String str,String format) 
	{
	      if (str==null||format==null) 
	      {
	          return null;
	      }
	      SimpleDateFormat sdf = new  SimpleDateFormat(format);
	      java.util.Date date = null;
	      try
	      {
	          date = sdf.parse(str);
	      }
	      catch(Exception e)
	      {
	      }
	      return date;
	}
}